// 上下左右居中
.center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

// 上下居中
.ct {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

// 左右居中
.cl {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

// 一行超出省略号
.ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

// 两行超出省略号
.ellipsis-2 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

// 三行超出省略号
.ellipsis-3 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

// 任意行超出省略号，需另行定义class并调用此mixin
.ellipsis(@line) {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: @line;
  -webkit-box-orient: vertical;
}

// 1px边框基础
[class*='elan-hairline']::after {
  position: absolute;
  box-sizing: border-box;
  content: ' ';
  pointer-events: none;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 0 solid @grey-4;
}

[class*='elan-hairline-dashed']::after {
  border-style: dashed;
}

// 上边框
.elan-hairline--top::after, .elan-hairline-dashed--top::after {
  border-top-width: 1px;
}

// 左边框
.elan-hairline--left::after, .elan-hairline-dashed--left::after {
  border-left-width: 1px;
}

// 下边框
.elan-hairline--bottom::after, .elan-hairline-dashed--bottom::after {
  border-bottom-width: 1px;
}

// 右边框
.elan-hairline--right::after, .elan-hairline-dashed--right::after {
  border-right-width: 1px;
}

// 上下边框
.elan-hairline--top-bottom::after, .elan-hairline-dashed--top-bottom::after {
  border-top-width: 1px;
  border-bottom-width: 1px;
}

// 左右边框
.elan-hairline--left-right::after, .elan-hairline-dashed--left-right::after {
  border-left-width: 1px;
  border-right-width: 1px;
}

// 全边框
.elan-hairline--surround::after, .elan-hairline-dashed--surround::after {
  border-width: 1px;
}

.margin-bottom-0 {
  margin-bottom: 0 !important; // !important不可去掉
}